"use strict";
cc._RF.push(module, '32ff7Wtz99MKaSX6NTcTPvU', 'Utils');
// Script/SdkTools/Utils.ts

"use strict";
/**
 * 工具
 */
Object.defineProperty(exports, "__esModule", { value: true });
var Utils = /** @class */ (function () {
    function Utils() {
    }
    /**
         * 获取不重复的随机数
         * @param minValue 最小值
         * @param maxValue 最大值
         * @param valueNum 随机个数
         */
    Utils.getRandomValueDif = function (minValue, maxValue, valueNum) {
        // 全部随机数值  
        var allNums = new Array;
        // 判断获取随机数个数  
        var size = valueNum ? (valueNum > maxValue - minValue + 1 ? maxValue - minValue + 1 : valueNum) : 1;
        // 生成随机数值区间数组  
        for (var i = minValue, k = 0; i <= maxValue; i++, k++) {
            allNums[k] = i;
        }
        var arr = [];
        // 随机从数组里面取值
        allNums.sort(function () { return 0.5 - Math.random(); });
        for (var j = 0; j < size; j++) {
            var index = Math.floor(Math.random() * allNums.length);
            arr.push(allNums[index]);
            var tmp = allNums[index];
            allNums[index] = allNums[allNums.length - 1];
            allNums[allNums.length - 1] = tmp;
            allNums.pop();
        }
        return arr;
    };
    /**
     * 获取范围内的随机数
     * @param minValue 最小值
     * @param maxValue 最大值
     */
    Utils.getRangeRandom = function (minValue, maxValue) {
        // 获取数组从第一个开始到指定个数的下标区间  
        return Utils.getRandomValueDif(minValue, maxValue, 1)[0];
    };
    /**
     * 数字转时间格式
     * @param sec
     * @returns
     */
    Utils.secondsFormat = function (sec, havehour) {
        var hour = Math.floor(sec / 3600);
        var minute = Math.floor((sec - hour * 3600) / 60);
        var second = sec - hour * 3600 - minute * 60;
        var hour1 = '';
        var minute1 = '';
        var second1 = '';
        if (hour < 10) {
            hour1 = "0" + hour;
        }
        else {
            hour1 = "" + hour;
        }
        if (minute < 10) {
            minute1 = "0" + minute;
        }
        else {
            minute1 = "" + minute;
        }
        if (second < 10) {
            second1 = "0" + second;
        }
        else {
            second1 = "" + second;
        }
        if (havehour) {
            return hour1 + ":" + minute1 + ":" + second1;
        }
        else {
            return minute1 + ":" + second1;
        }
    };
    /**
     * 版本号比较
     * @param v1
     * @param v2
     * @returns
     */
    Utils.compareVersion = function (v1, v2) {
        v1 = v1.split('.');
        v2 = v2.split('.');
        var len = Math.max(v1.length, v2.length);
        while (v1.length < len) {
            v1.push('0');
        }
        while (v2.length < len) {
            v2.push('0');
        }
        for (var i = 0; i < len; i++) {
            var num1 = parseInt(v1[i]);
            var num2 = parseInt(v2[i]);
            if (num1 > num2) {
                return 1;
            }
            else if (num1 < num2) {
                return -1;
            }
        }
        return 0;
    };
    // const version = wx.getSystemInfoSync().SDKVersion
    // if (compareVersion(version, '2.3.0') >= 0) {
    // wx.startGyroscope()
    // } else {
    // // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
    // wx.showModal({
    //     title: '提示',
    //     content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试。'
    // })
    // }
    //关卡设计公式 
    // 并设置等级1~4、5~9、10~14、15~n
    // Ø 第一个难度段，每升一级所需任务数增加1个，可得到公式：y1=x+2； 3,4,5,6
    // Ø 第二个难度段，每升一级所需任务数增加2,可得到公式y2=2（x-4）+5； 7,9,11,13,15
    // Ø 第三个难度段，每升一级所需任务数增加4个，可得到公式为y3=4（x-9）+13； 17,21,25,29,33
    // Ø 第四个难度段，每升一级所需任务数为6个,可得到公式，y4=6（x-14）+31。37,43,49
    /**
     * 获取基本变化数据
     * @param no
     * @param jifen
     * @returns
     */
    Utils.getBaseChangeData = function (no, jifen) {
        var jishu = 20; //20   //基数分
        if (jifen)
            jishu = jifen;
        var score = 0;
        var hard = 0;
        if (1 <= no && no <= 4) {
            hard = no + 2;
        }
        else if (5 <= no && no <= 9) {
            hard = 2 * (no - 4) + 5;
        }
        else if (10 <= no && no <= 14) {
            hard = 4 * (no - 9) + 13;
        }
        else if (15 <= no) {
            hard = 6 * (no - 14) + 31;
        }
        score = hard * jishu;
        return score;
    };
    return Utils;
}());
exports.default = Utils;

cc._RF.pop();